home *** CD-ROM | disk | FTP | other *** search
- var privValue = '~privValue~';
-
- function replaceAll (str, src, trg)
- {
- var s = str;
- var start = 0;
- while(true)
- {
- var ind = s.indexOf(src, start);
- if (ind == -1)
- {
- break;
- }
- s = s.substring (0, ind) + trg + s.substr (ind + src.length);
- start = ind + trg.length;
- }
- return s;
- }
-
- function GetNormalValue (name)
- {
- var val=document.forms[0].elements[name].value;
- return val;
- }
-
- function SetNormalValue (name, val)
- {
- var el = document.forms[0].elements[name];
- if (el) el.value = val;
- }
-
- function GetCheckValue (name)
- {
- var val=document.forms[0].elements[name].checked;
- return val;
- }
-
- function SetCheckValue (name, val)
- {
- var el = document.forms[0].elements[name];
- if (el) el.checked = (val == 'true') ? 'true' : '';
- }
-
- function GetRadioValue (name)
- {
- var ar=document.forms[0].elements[name];
- var i;
- for(i=0;i<ar.length;i++)
- {
- if(ar[i].checked) return i;
- }
- return null;
- }
-
- function SetRadioValue (name, val)
- {
- var ar=document.forms[0].elements[name];
- var i;
- if (ar)
- {
- for(i=0;i<ar.length;i++)
- {
- ar [i].checked = (val == i) ? 'true' : '';
- }
- }
- }
-
- function SetOption (name, val)
- {
- var optionType = name.substr(0,1);
- if (optionType == 'R')
- {
- return SetRadioValue (name, val);
- }
- else if (optionType == 'C')
- {
- return SetCheckValue (name, val);
- }
- else
- {
- return SetNormalValue (name, val);
- }
- }
-
- function GetOptionFromFormItem (optionName)
- {
- var optionType = optionName.substr(0,1);
- if (optionType == 'R')
- {
- return GetRadioValue (optionName);
- }
- else if (optionType == 'C')
- {
- return GetCheckValue (optionName);
- }
- else if (optionType == 'P')
- {
- return privValue;
- }
- else
- {
- return GetNormalValue (optionName);
- }
- return null;
- }
-
- function GetOptionFromUrl (optionName)
- {
- var ind = window.location.href.indexOf (optionName + '=');
- var val = null;
- if (ind != -1)
- {
- var optEnd = window.location.href.indexOf ('&', ind + optionName.length + 1);
- if (optEnd == -1)
- {
- val = window.location.href.substr (ind + optionName.length + 1);
- }
- else
- {
- val = window.location.href.substring (ind + optionName.length + 1, optEnd);
- }
- }
- if (val) val = replaceAll (val, '%5C', '\\')
- return val;
- }
-
- function FindAllFormItems ()
- {
- var els = new Array;
- var ar = document.forms[0].elements;
- var i;
- for(i=0;i<ar.length;i++)
- {
- if (ar [i].name)
- {
- els [els.length] = ar [i].name;
- }
- }
- return els;
- }
-
- function UrlToFormItems ()
- {
- var els = FindAllFormItems ();
- var i;
- for (i = 0; i < els.length; i++)
- {
- var val = GetOptionFromUrl (els [i]);
- if (val && val != privValue)
- {
- SetOption (els [i], val);
- }
- }
- }
-
- function FormItemsToUrl (url)
- {
- var queryString = url;
- var els = FindAllFormItems ();
- var i;
- for (i = 0; i < els.length; i++)
- {
- var val = GetOptionFromFormItem (els [i]);
- var prevValPos = queryString.indexOf (els [i] + '=');
- if (prevValPos != -1)
- {
- var nextOption = queryString.indexOf ('&', prevValPos);
- queryString = queryString.substr (0, prevValPos) + els [i] + '=' + val + ((nextOption != -1) ? queryString.substr (nextOption) : '');
- }
- else
- {
- queryString += ((queryString.indexOf ('?') == -1) ? '?' : '&') + els [i] + '=' + val;
- }
- }
- return queryString;
- }
-
- function ProcessOptions ()
- {
- var queryStr = 'http://command/?processOptions=1';
- queryStr = FormItemsToUrl (queryStr);
- window.navigate(queryStr);
- }
-
- function GotoStep (nStep)
- {
- ProcessOptions ();
- var queryStart = window.location.href.indexOf ('?');
- var queryStr = (queryStart != -1 ? window.location.href.substr (queryStart) : '?v=0');
- queryStr = FormItemsToUrl (queryStr);
- var url = 'menu' + nStep + '.htm' + queryStr;
- window.navigate(replaceAll (url, '\\', '%5C'));
- }
-
- function Browse (ctl)
- {
- window.navigate ('http://command/?browse=' + ctl);
- }
-
- function BrowseDir (ctl)
- {
- window.navigate ('http://command/?browseDir=' + ctl);
- }
-
- function BrowseDone (pathAndCtl)
- {
- var sep = pathAndCtl.indexOf('|');
- var path = pathAndCtl.substr (0, sep);
- var ctl = pathAndCtl.substr (sep + 1);
- SetOption (ctl, path);
- }
-